package com.tzm.gaflow.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * ga_flow_info(业务流程配置)
 * </p>
 *
 * @author tzm
 * @since 2021-03-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "GaFlowInfo", description = "ga_flow_info(业务流程配置)")
@TableName("ga_flow_info")
public class GaFlowInfo extends Model<GaFlowInfo> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "业务流程ID")
    @TableId(value = "flow_id", type = IdType.ASSIGN_UUID)
    private String flowId;

    @ApiModelProperty(value = "上级业务流程ID")
    @TableField(value = "previous_flow_id", updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED)
    private String previousFlowId;

    @ApiModelProperty(value = "上级业务流程名称")
    @TableField(value = "previous_flow_name", updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED)
    private String previousFlowName;

    @ApiModelProperty(value = "下级业务流程ID")
    @TableField(value = "next_flow_id", updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED)
    private String nextFlowId;

    @ApiModelProperty(value = "下级业务流程名称")
    @TableField(value = "next_flow_name", updateStrategy = FieldStrategy.IGNORED, insertStrategy = FieldStrategy.IGNORED)
    private String nextFlowName;

    @ApiModelProperty(value = "业务流程名称")
    @TableField("flow_name")
    private String flowName;

    @ApiModelProperty(value = "流程类型（经办、审核审批）")
    @TableField("bussines_type")
    private String bussinesType;

    @ApiModelProperty(value = "拒绝规则")
    @TableField("refuse_rule")
    private String refuseRule;

    @ApiModelProperty(value = "业务过程后置事件接口实现类")
    @TableField("after_event_action")
    private String afterEventAction;

    @ApiModelProperty(value = "业务过程事件接口实现类")
    @TableField("pre_event_action")
    private String preEventAction;

    @ApiModelProperty(value = "下级操作员指定规则")
    @TableField("assign_rule")
    private String assignRule;

    @ApiModelProperty(value = "操作界面地址")
    @TableField("url")
    private String url;

    @ApiModelProperty(value = "流程排序")
    @TableField("flow_sel")
    private Long flowSel;

    @ApiModelProperty(value = "流程状态")
    @TableField("active")
    private String active;

    @ApiModelProperty(value = "距顶部位置")
    @TableField("flow_top")
    private Integer flowTop;

    @ApiModelProperty(value = "距左边位置")
    @TableField("flow_left")
    private Integer flowLeft;
}
